import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

sns.set_theme() # 设置全局主题

# 直方图
arr=np.random.randn(100)
sns.histplot(arr,bins=10)
plt.show()
# 估计曲线
arr2=np.random.randint(0,100,500)
sns.kdeplot(arr2,fill=True,cut=0)
sns.rugplot(arr2)
plt.show()
# 密度分布图
tips=pd.read_csv("tips.csv")
print(tips)
sns.histplot(tips,x='total_bill',kde=True)
plt.show()
# 点对图
sns.pairplot(tips,hue='sex')
plt.show()
# 联合分布图
sns.jointplot(tips,x='total_bill',y='tip',hue='sex')
plt.show()
sns.jointplot(tips,x='total_bill',y='tip',kind='hex')
plt.show()
sns.jointplot(tips,x='total_bill',y='tip',kind='kde')
plt.show()
# 线性回归模型图
sns.lmplot(data=tips,x='total_bill',y='tip',hue='sex')
plt.show()
# 航线图
sns.stripplot(data=tips,x='day',y='total_bill',jitter=False)
plt.show()
# 分簇散点图
sns.swarmplot(data=tips,x='day',y='total_bill')
plt.show()
# 箱线图
sns.boxplot(data=tips,x='day',y='total_bill')
plt.show()
# 小提琴图
sns.violinplot(data=tips,x='day',y='total_bill')
plt.show()
# 条形图
sns.barplot(data=tips,x='day',y='total_bill')
plt.show()
# 分类数据图
sns.pointplot(data=tips,x='day',y='total_bill')
plt.show()

